
#ifndef _GEOMETRYMANAGER_H_
#define _GEOMETRYMANAGER_H_

#include "ExchangeApi.hpp"
#include "../OLApp/defines.hpp"
#include "../OLCore/AbstractObject.hpp"
#include "../OLCore/AbstractGeometryData.hpp"

#include <QMap>

namespace NSExchange {

	class GeometryData;

	class EXCHANGEAPI GeometryManager :
		public NSCore::AbstractObject
	{
		DECSINGLETON(GeometryManager, NSCore::AbstractObject())
	public:
		void Initialize();
		void Finalize();
	public:
		int addGeometryData(GeometryData* geom);
		int removeGeometryData(int index);
		GeometryData* getGeometry(int index);
		GeometryData* getGeometryLast();
	public:
		virtual inline QString className() override { return "GeometryManager"; };
	protected:
		QMap<int, GeometryData*> m_geoms;

	};

}


#endif